package main

import (
	"fmt"
	"go-task/common"
	"go-task/dao"
	"go-task/router"
	"go-task/task"
)

func main() {
	// 读取配置文件
	common.ReadConfig()
	// 初始化日志配置
	common.InitLogger(&common.Config)
	// 初始化数据库连接
	dao.InitDB(&common.Config)
	// 初始化任务服务
	taskServer := task.NewTaskServer(common.Config.Task.Port, common.Logger)
	task.TaskManager = taskServer
	go taskServer.Start()

	// 初始化定时任务管理器
	task.InitTimeTaskManager()

	// 初始化http服务
	r := router.NewRouter()
	common.Logger.Infof("task http task start on port: %d", common.Config.Server.Port)
	err := r.Run(fmt.Sprintf(":%d", common.Config.Server.Port))
	if err != nil {
		common.Logger.Fatal(err)
	}
}
